Skip to content

{lib,vis}[GCCcore/13.2.0] FORD v7.0.6, graphviz-python v0.20.1#20843

Merged
boegel merged 7 commits intoeasybuilders:developfrom
SimonPinches:20240618121633_new_pr_FORD706
Aug 18, 2025
Merged

{lib,vis}[GCCcore/13.2.0] FORD v7.0.6, graphviz-python v0.20.1#20843
boegel merged 7 commits intoeasybuilders:developfrom
SimonPinches:20240618121633_new_pr_FORD706

Conversation

@SimonPinches
Copy link
Copy Markdown
Contributor

(created using eb --new-pr)

@sassy-crick
Copy link
Copy Markdown
Collaborator

@SimonPinches You might want to sync your PR with development, something like this:

eb --sync-pr-with-develop NUMBER_OF_PR

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 16, 2025

Updated software FORD-7.0.6-GCCcore-13.2.0.eb

Diff against FORD-6.1.15-GCCcore-11.3.0.eb

easybuild/easyconfigs/f/FORD/FORD-6.1.15-GCCcore-11.3.0.eb

diff --git a/easybuild/easyconfigs/f/FORD/FORD-6.1.15-GCCcore-11.3.0.eb b/easybuild/easyconfigs/f/FORD/FORD-7.0.6-GCCcore-13.2.0.eb
index 72aea46e8a..02c545f447 100644
--- a/easybuild/easyconfigs/f/FORD/FORD-6.1.15-GCCcore-11.3.0.eb
+++ b/easybuild/easyconfigs/f/FORD/FORD-7.0.6-GCCcore-13.2.0.eb
@@ -1,35 +1,31 @@
 easyblock = 'PythonBundle'
 
 name = 'FORD'
-version = '6.1.15'
+version = '7.0.6'
 
 homepage = 'https://github.com/Fortran-FOSS-Programmers/ford/wiki'
 description = 'FORD is an automatic documentation generator for modern Fortran programs'
 
-toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 builddependencies = [
-    ('binutils', '2.38'),
+    ('binutils', '2.40'),
+    ('hatchling', '1.18.0'),
 ]
 
 dependencies = [
-    ('Python', '3.10.4'),
-    ('Graphviz', '5.0.0',),
-    ('BeautifulSoup', '4.10.0'),
-    ('tqdm', '4.64.0'),
+    ('Python', '3.11.5'),
+    ('graphviz-python', '0.20.1',),
+    ('BeautifulSoup', '4.12.2'),
 ]
 
 exts_list = [
-    ('graphviz', '0.20.1', {
-        'source_tmpl': '%(name)s-%(version)s.zip',
-        'checksums': ['8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8'],
+    ('Markdown', '3.4.4', {
+        'checksums': ['225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6'],
     }),
-    ('Markdown', '3.4.1', {
-        'checksums': ['3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff'],
-    }),
-    ('markdown_include', '0.7.0', {
+    ('markdown_include', '0.7.2', {
         'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
-        'checksums': ['a06183b7c7225e73112737acdc6fe0ac0686c39457234eeb5ede23881fed001d'],
+        'checksums': ['09ca3a7470b79d217be828a27c6808c24f4a8814cc422fca05be1bc3fd866907'],
     }),
     ('python-markdown-math', '0.8', {
         'modulename': 'mdx_math',
@@ -41,8 +37,17 @@ exts_list = [
     ('toposort', '1.7', {
         'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'],
     }),
+    ('pygments', '2.18.0', {
+        'checksums': ['786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199'],
+    }),
+    ('tqdm', '4.64.1', {
+        'checksums': ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'],
+    }),
+    ('pcpp', '1.30', {
+        'checksums': ['5af9fbce55f136d7931ae915fae03c34030a3b36c496e72d9636cedc8e2543a1'],
+    }),
     (name, version, {
-        'checksums': ['d90000f528878738fc55f0f28aa34f36c5cb7f4819d851d10977f8499bf0cae6'],
+        'checksums': ['662d0cab60234743ed7b863fbb980e0af909f31e0205011d7978ea2dedc3e952'],
     }),
 ]
 
Diff against FORD-6.1.6-GCCcore-10.3.0.eb

easybuild/easyconfigs/f/FORD/FORD-6.1.6-GCCcore-10.3.0.eb

diff --git a/easybuild/easyconfigs/f/FORD/FORD-6.1.6-GCCcore-10.3.0.eb b/easybuild/easyconfigs/f/FORD/FORD-7.0.6-GCCcore-13.2.0.eb
index 24a492ec3f..02c545f447 100644
--- a/easybuild/easyconfigs/f/FORD/FORD-6.1.6-GCCcore-10.3.0.eb
+++ b/easybuild/easyconfigs/f/FORD/FORD-7.0.6-GCCcore-13.2.0.eb
@@ -1,34 +1,35 @@
 easyblock = 'PythonBundle'
 
 name = 'FORD'
-version = '6.1.6'
+version = '7.0.6'
 
 homepage = 'https://github.com/Fortran-FOSS-Programmers/ford/wiki'
 description = 'FORD is an automatic documentation generator for modern Fortran programs'
 
-toolchain = {'name': 'GCCcore', 'version': '10.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 builddependencies = [
-    ('binutils', '2.36.1'),
+    ('binutils', '2.40'),
+    ('hatchling', '1.18.0'),
 ]
 
 dependencies = [
-    ('Python', '3.9.5'),
-    ('Graphviz', '2.47.2',),
-    ('BeautifulSoup', '4.10.0'),
-    ('tqdm', '4.61.2'),
+    ('Python', '3.11.5'),
+    ('graphviz-python', '0.20.1',),
+    ('BeautifulSoup', '4.12.2'),
 ]
 
 exts_list = [
-    ('graphviz', '0.19.1', {
-        'source_tmpl': '%(name)s-%(version)s.zip',
-        'checksums': ['09ed0cde452d015fe77c4845a210eb642f28d245f5bc250d4b97808cb8f49078'],
+    ('Markdown', '3.4.4', {
+        'checksums': ['225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6'],
     }),
-    ('Markdown', '3.3.4', {
-        'checksums': ['31b5b491868dcc87d6c24b7e3d19a0d730d59d3e46f4eea6430a321bed387a49'],
+    ('markdown_include', '0.7.2', {
+        'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
+        'checksums': ['09ca3a7470b79d217be828a27c6808c24f4a8814cc422fca05be1bc3fd866907'],
     }),
-    ('markdown-include', '0.6.0', {
-        'checksums': ['6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2'],
+    ('python-markdown-math', '0.8', {
+        'modulename': 'mdx_math',
+        'checksums': ['8564212af679fc18d53f38681f16080fcd3d186073f23825c7ce86fadd3e3635'],
     }),
     ('md-environ', '0.1.0', {
         'checksums': ['fe3c2a255af523d6f522831c699336cd71f9d543714067d93206ed35836f1793'],
@@ -36,8 +37,17 @@ exts_list = [
     ('toposort', '1.7', {
         'checksums': ['ddc2182c42912a440511bd7ff5d3e6a1cabc3accbc674a3258c8c41cbfbb2125'],
     }),
+    ('pygments', '2.18.0', {
+        'checksums': ['786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199'],
+    }),
+    ('tqdm', '4.64.1', {
+        'checksums': ['5f4f682a004951c1b450bc753c710e9280c5746ce6ffedee253ddbcbf54cf1e4'],
+    }),
+    ('pcpp', '1.30', {
+        'checksums': ['5af9fbce55f136d7931ae915fae03c34030a3b36c496e72d9636cedc8e2543a1'],
+    }),
     (name, version, {
-        'checksums': ['c286206e6ce8c12f2e00f6c73e3b76dae830dce7b5b6f52a54512585fcfae12a'],
+        'checksums': ['662d0cab60234743ed7b863fbb980e0af909f31e0205011d7978ea2dedc3e952'],
     }),
 ]
 

Updated software GTS-0.7.6-GCCcore-13.2.0.eb

Diff against GTS-0.7.6-GCCcore-14.3.0.eb

easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-14.3.0.eb

diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-14.3.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.2.0.eb
index c3a170c597..c0788cdc79 100644
--- a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-14.3.0.eb
+++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.2.0.eb
@@ -8,27 +8,22 @@ description = """GTS stands for the GNU Triangulated Surface Library.
 It is an Open Source Free Software Library intended to provide a set of useful
 functions to deal with 3D surfaces meshed with interconnected triangles."""
 
-toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = [SOURCEFORGE_SOURCE]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e']
 
 builddependencies = [
-    ('pkgconf', '2.4.3'),
-    ('binutils', '2.44'),
+    ('pkgconf', '2.0.3'),
+    ('binutils', '2.40'),
 ]
-
 dependencies = [
-    ('GLib', '2.85.3'),
+    ('GLib', '2.78.1'),
 ]
 
-# Avoid picking up system netpbm. Even if we would provide our own,
-# builds will fail later on due to headers being incorrectly included.
-configopts = 'ac_cv_lib_netpbm_pgm_init=no '
-
 sanity_check_paths = {
-    'files': ['lib/libgts.so', 'bin/gts2oogl', 'bin/gtscheck'],
+    'files': ['lib/libgts.%s' % SHLIB_EXT, 'bin/gts2oogl', 'bin/gtscheck'],
     'dirs': [],
 }
 
Diff against GTS-0.7.6-GCCcore-13.3.0.eb

easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.2.0.eb
index dd36868a20..c0788cdc79 100644
--- a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.2.0.eb
@@ -8,18 +8,18 @@ description = """GTS stands for the GNU Triangulated Surface Library.
 It is an Open Source Free Software Library intended to provide a set of useful
 functions to deal with 3D surfaces meshed with interconnected triangles."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = [SOURCEFORGE_SOURCE]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e']
 
 builddependencies = [
-    ('pkgconf', '2.2.0'),
-    ('binutils', '2.42'),
+    ('pkgconf', '2.0.3'),
+    ('binutils', '2.40'),
 ]
 dependencies = [
-    ('GLib', '2.80.4'),
+    ('GLib', '2.78.1'),
 ]
 
 sanity_check_paths = {
Diff against GTS-0.7.6-GCCcore-12.3.0.eb

easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.2.0.eb
index 1e284e153a..c0788cdc79 100644
--- a/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/g/GTS/GTS-0.7.6-GCCcore-13.2.0.eb
@@ -8,18 +8,18 @@ description = """GTS stands for the GNU Triangulated Surface Library.
 It is an Open Source Free Software Library intended to provide a set of useful
 functions to deal with 3D surfaces meshed with interconnected triangles."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = [SOURCEFORGE_SOURCE]
 sources = [SOURCELOWER_TAR_GZ]
 checksums = ['059c3e13e3e3b796d775ec9f96abdce8f2b3b5144df8514eda0cc12e13e8b81e']
 
 builddependencies = [
-    ('pkgconf', '1.9.5'),
+    ('pkgconf', '2.0.3'),
     ('binutils', '2.40'),
 ]
 dependencies = [
-    ('GLib', '2.77.1'),
+    ('GLib', '2.78.1'),
 ]
 
 sanity_check_paths = {

Updated software Graphviz-9.0.0-GCCcore-13.2.0.eb

Diff against Graphviz-12.2.0-GCCcore-13.3.0-minimal.eb

easybuild/easyconfigs/g/Graphviz/Graphviz-12.2.0-GCCcore-13.3.0-minimal.eb

diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-12.2.0-GCCcore-13.3.0-minimal.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
index 61aca4c6bf..acbd4676b0 100644
--- a/easybuild/easyconfigs/g/Graphviz/Graphviz-12.2.0-GCCcore-13.3.0-minimal.eb
+++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
@@ -1,8 +1,7 @@
 easyblock = 'ConfigureMake'
 
 name = 'Graphviz'
-version = '12.2.0'
-versionsuffix = '-minimal'
+version = '9.0.0'
 local_pyver_major = '3'
 
 homepage = 'https://www.graphviz.org/'
@@ -12,65 +11,70 @@ description = """Graphviz is open source graph visualization software. Graph vis
  bioinformatics,  software engineering, database and web design, machine learning,
  and in visual interfaces for other technical domains."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s']
-patches = ['%(name)s-8.1.0_skip-install-data-hook.patch']
 sources = [SOURCELOWER_TAR_GZ]
-
+patches = ['%(name)s-%(version)s_skip-install-data-hook.patch']
 checksums = [
-    {'graphviz-12.2.0.tar.gz': '0063e501fa4642b55f4daf82820b2778bfb7dafa651a862ae5c9810efb8e2311'},
-    {'Graphviz-8.1.0_skip-install-data-hook.patch': '834666f1b5a8eff35f30899419e322739d71a2936408b27c8ffb4423a99a38e1'},
+    {'graphviz-9.0.0.tar.gz': '504d19b5d0e5398a57e9d9de42393f90b9e79aff0969b4ebc3b891ccb39602ed'},
+    {'Graphviz-9.0.0_skip-install-data-hook.patch': '148bcae14aa053cab9448c5c151876ec995a9b71f76366db742b6f0f8b7fc22a'},
 ]
 
 builddependencies = [
-    ('Autotools', '20231222'),
-    ('binutils', '2.42'),
+    ('Autotools', '20220317'),
+    ('binutils', '2.40'),
     ('Bison', '3.8.2'),
     ('flex', '2.6.4'),
-    ('SWIG', '4.2.1'),
-    ('pkgconf', '2.2.0'),
-    ('groff', '1.23.0'),
+    ('SWIG', '4.1.1'),
+    ('pkgconf', '2.0.3'),
 ]
 
 dependencies = [
-    ('Python', '3.12.3'),
+    ('Java', '11', '', SYSTEM),
+    ('Python', '3.11.5'),
+    ('FriBidi', '1.0.13'),
+    ('Gdk-Pixbuf', '2.42.10'),
+    ('Ghostscript', '10.02.1'),
+    ('GTS', '0.7.6'),
     ('libgd', '2.3.3'),
-    ('zlib', '1.3.1'),
+    ('Pango', '1.51.0'),
+    ('Perl', '5.38.0'),
+    ('Qt6', '6.6.3'),
+    ('Tcl', '8.6.13'),
+    ('zlib', '1.2.13'),
     ('bzip2', '1.0.8'),
     ('libjpeg-turbo', '3.0.1'),
-    ('expat', '2.6.2'),
+    ('expat', '2.5.0'),
 ]
 
 preconfigopts = './autogen.sh NOCONFIG && '
 
-_copts = [
-    '--enable-python%s=yes' % local_pyver_major,
-    '--enable-guile=no --enable-lua=no --enable-ocaml=no',
-    '--enable-r=no --enable-ruby=no --enable-php=no',
-    '--enable-java=no',
-    '--enable-ghostscript=no',
-    # Disable GUI-related options
-    '--without-x --without-qt --without-gtk --without-glut --enable-tcl=no',
-    # Use ltdl from libtool in EB
-    '--enable-ltdl --without-included-ltdl --disable-ltdl-install',
-    '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib',
-    '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib',
-    '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib',
-]
+configopts = '--enable-python%s=yes ' % local_pyver_major
+configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no '
+configopts += '--enable-r=no --enable-ruby=no --enable-php=no '
+# Use ltdl from libtool in EB
+configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install '
+configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib '
+# Override the hardcoded paths to Java libraries
+configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux '
+configopts += '--with-javalibdir=$JAVA_HOME/lib'
+configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib'
+configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib'
 
-configopts = ' '.join(_copts)
+prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && '
 
 postinstallcmds = ['%(installdir)s/bin/dot -c']  # Writes plugin configuration
 
 sanity_check_paths = {
     'files': ['bin/%s' % x for x in ['acyclic', 'bcomps', 'ccomps', 'cluster', 'diffimg', 'dijkstra', 'dot',
                                      'dot_builtins', 'edgepaint', 'gc', 'gml2gv', 'graphml2gv', 'gv2gml',
-                                     'gvcolor', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv',
-                                     'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten']] +
-             ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr',
+                                     'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv',
+                                     'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten',
+                                     'vimdot']] +
+             ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut',
                                                      'libpathplan', 'libxdot']],
-    'dirs': ['include', 'lib/graphviz', 'lib/graphviz/python%s' % local_pyver_major,
+    'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major,
              'lib/pkgconfig', 'share']
 }
 
@@ -81,7 +85,10 @@ sanity_check_commands = [
 ]
 
 modextrapaths = {
+    'CLASSPATH': 'lib/graphviz/java',
+    'LD_LIBRARY_PATH': 'lib/graphviz/java',
     'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major,
+    'TCLLIBPATH': 'lib/graphviz/tcl',
 }
 
 moduleclass = 'vis'
Diff against Graphviz-12.2.0-GCCcore-13.3.0.eb

easybuild/easyconfigs/g/Graphviz/Graphviz-12.2.0-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-12.2.0-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
index cee7b82cdb..acbd4676b0 100644
--- a/easybuild/easyconfigs/g/Graphviz/Graphviz-12.2.0-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'ConfigureMake'
 
 name = 'Graphviz'
-version = '12.2.0'
+version = '9.0.0'
 local_pyver_major = '3'
 
 homepage = 'https://www.graphviz.org/'
@@ -11,62 +11,56 @@ description = """Graphviz is open source graph visualization software. Graph vis
  bioinformatics,  software engineering, database and web design, machine learning,
  and in visual interfaces for other technical domains."""
 
-toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s']
-patches = ['%(name)s-8.1.0_skip-install-data-hook.patch']
 sources = [SOURCELOWER_TAR_GZ]
-
+patches = ['%(name)s-%(version)s_skip-install-data-hook.patch']
 checksums = [
-    {'graphviz-12.2.0.tar.gz': '0063e501fa4642b55f4daf82820b2778bfb7dafa651a862ae5c9810efb8e2311'},
-    {'Graphviz-8.1.0_skip-install-data-hook.patch': '834666f1b5a8eff35f30899419e322739d71a2936408b27c8ffb4423a99a38e1'},
+    {'graphviz-9.0.0.tar.gz': '504d19b5d0e5398a57e9d9de42393f90b9e79aff0969b4ebc3b891ccb39602ed'},
+    {'Graphviz-9.0.0_skip-install-data-hook.patch': '148bcae14aa053cab9448c5c151876ec995a9b71f76366db742b6f0f8b7fc22a'},
 ]
 
 builddependencies = [
-    ('Autotools', '20231222'),
-    ('binutils', '2.42'),
+    ('Autotools', '20220317'),
+    ('binutils', '2.40'),
     ('Bison', '3.8.2'),
     ('flex', '2.6.4'),
-    ('SWIG', '4.2.1'),
-    ('pkgconf', '2.2.0'),
-    ('groff', '1.23.0'),
+    ('SWIG', '4.1.1'),
+    ('pkgconf', '2.0.3'),
 ]
 
 dependencies = [
-    ('Java', '17', '', SYSTEM),
-    ('Python', '3.12.3'),
-    ('FriBidi', '1.0.15'),
-    ('Gdk-Pixbuf', '2.42.11'),
-    ('Ghostscript', '10.03.1'),
+    ('Java', '11', '', SYSTEM),
+    ('Python', '3.11.5'),
+    ('FriBidi', '1.0.13'),
+    ('Gdk-Pixbuf', '2.42.10'),
+    ('Ghostscript', '10.02.1'),
     ('GTS', '0.7.6'),
     ('libgd', '2.3.3'),
-    ('Pango', '1.54.0'),
-    ('Perl', '5.38.2'),
-    ('Qt6', '6.7.2'),
-    ('Tcl', '8.6.14'),
-    ('zlib', '1.3.1'),
+    ('Pango', '1.51.0'),
+    ('Perl', '5.38.0'),
+    ('Qt6', '6.6.3'),
+    ('Tcl', '8.6.13'),
+    ('zlib', '1.2.13'),
     ('bzip2', '1.0.8'),
     ('libjpeg-turbo', '3.0.1'),
-    ('expat', '2.6.2'),
+    ('expat', '2.5.0'),
 ]
 
 preconfigopts = './autogen.sh NOCONFIG && '
 
-_copts = [
-    '--enable-python%s=yes' % local_pyver_major,
-    '--enable-guile=no --enable-lua=no --enable-ocaml=no',
-    '--enable-r=no --enable-ruby=no --enable-php=no',
-    # Use ltdl from libtool in EB
-    '--enable-ltdl --without-included-ltdl --disable-ltdl-install',
-    '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib',
-    # Override the hardcoded paths to Java libraries
-    '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux',
-    '--with-javalibdir=$JAVA_HOME/lib',
-    '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib',
-    '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib',
-]
-
-configopts = ' '.join(_copts)
+configopts = '--enable-python%s=yes ' % local_pyver_major
+configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no '
+configopts += '--enable-r=no --enable-ruby=no --enable-php=no '
+# Use ltdl from libtool in EB
+configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install '
+configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib '
+# Override the hardcoded paths to Java libraries
+configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux '
+configopts += '--with-javalibdir=$JAVA_HOME/lib'
+configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib'
+configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib'
 
 prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && '
 
@@ -78,7 +72,7 @@ sanity_check_paths = {
                                      'gvcolor', 'gvedit', 'gvgen', 'gvmap', 'gvmap.sh', 'gvpack', 'gvpr', 'gxl2gv',
                                      'neato', 'mm2gv', 'nop', 'prune', 'sccmap', 'tred', 'unflatten',
                                      'vimdot']] +
-             ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr',
+             ['lib/%s.%s' % (x, SHLIB_EXT) for x in ['libcdt', 'libcgraph', 'libgvc', 'libgvpr', 'liblab_gamut',
                                                      'libpathplan', 'libxdot']],
     'dirs': ['include', 'lib/graphviz', 'lib/graphviz/java', 'lib/graphviz/python%s' % local_pyver_major,
              'lib/pkgconfig', 'share']
@@ -94,7 +88,7 @@ modextrapaths = {
     'CLASSPATH': 'lib/graphviz/java',
     'LD_LIBRARY_PATH': 'lib/graphviz/java',
     'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major,
-    'TCLLIBPATH': {'paths': 'lib/graphviz/tcl', 'delimiter': ' '},
+    'TCLLIBPATH': 'lib/graphviz/tcl',
 }
 
 moduleclass = 'vis'
Diff against Graphviz-8.1.0-GCCcore-12.3.0.eb

easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
index 4092f8ada9..acbd4676b0 100644
--- a/easybuild/easyconfigs/g/Graphviz/Graphviz-8.1.0-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/g/Graphviz/Graphviz-9.0.0-GCCcore-13.2.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'ConfigureMake'
 
 name = 'Graphviz'
-version = '8.1.0'
+version = '9.0.0'
 local_pyver_major = '3'
 
 homepage = 'https://www.graphviz.org/'
@@ -11,14 +11,14 @@ description = """Graphviz is open source graph visualization software. Graph vis
  bioinformatics,  software engineering, database and web design, machine learning,
  and in visual interfaces for other technical domains."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = ['https://gitlab.com/graphviz/graphviz/-/archive/%(version)s']
 sources = [SOURCELOWER_TAR_GZ]
 patches = ['%(name)s-%(version)s_skip-install-data-hook.patch']
 checksums = [
-    {'graphviz-8.1.0.tar.gz': '2e4dfee3c24925ad51d1e76a9fb2b19b26a5a0049ef7be6d3e52667aac72eabe'},
-    {'Graphviz-8.1.0_skip-install-data-hook.patch': '834666f1b5a8eff35f30899419e322739d71a2936408b27c8ffb4423a99a38e1'},
+    {'graphviz-9.0.0.tar.gz': '504d19b5d0e5398a57e9d9de42393f90b9e79aff0969b4ebc3b891ccb39602ed'},
+    {'Graphviz-9.0.0_skip-install-data-hook.patch': '148bcae14aa053cab9448c5c151876ec995a9b71f76366db742b6f0f8b7fc22a'},
 ]
 
 builddependencies = [
@@ -27,44 +27,40 @@ builddependencies = [
     ('Bison', '3.8.2'),
     ('flex', '2.6.4'),
     ('SWIG', '4.1.1'),
-    ('pkgconf', '1.9.5'),
+    ('pkgconf', '2.0.3'),
 ]
 
 dependencies = [
     ('Java', '11', '', SYSTEM),
-    ('Python', '3.11.3'),
-    ('FriBidi', '1.0.12'),
+    ('Python', '3.11.5'),
+    ('FriBidi', '1.0.13'),
     ('Gdk-Pixbuf', '2.42.10'),
-    ('Ghostscript', '10.01.2'),
+    ('Ghostscript', '10.02.1'),
     ('GTS', '0.7.6'),
     ('libgd', '2.3.3'),
-    ('Pango', '1.50.14'),
-    ('Perl', '5.36.1'),
-    ('Qt5', '5.15.10'),
+    ('Pango', '1.51.0'),
+    ('Perl', '5.38.0'),
+    ('Qt6', '6.6.3'),
     ('Tcl', '8.6.13'),
     ('zlib', '1.2.13'),
     ('bzip2', '1.0.8'),
-    ('libjpeg-turbo', '2.1.5.1'),
+    ('libjpeg-turbo', '3.0.1'),
     ('expat', '2.5.0'),
 ]
 
 preconfigopts = './autogen.sh NOCONFIG && '
 
-_copts = [
-    '--enable-python%s=yes' % local_pyver_major,
-    '--enable-guile=no --enable-lua=no --enable-ocaml=no',
-    '--enable-r=no --enable-ruby=no --enable-php=no',
-    # Use ltdl from libtool in EB
-    '--enable-ltdl --without-included-ltdl --disable-ltdl-install',
-    '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib',
-    # Override the hardcoded paths to Java libraries
-    '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux',
-    '--with-javalibdir=$JAVA_HOME/lib',
-    '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib',
-    '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib',
-]
-
-configopts = ' '.join(_copts)
+configopts = '--enable-python%s=yes ' % local_pyver_major
+configopts += '--enable-guile=no --enable-lua=no --enable-ocaml=no '
+configopts += '--enable-r=no --enable-ruby=no --enable-php=no '
+# Use ltdl from libtool in EB
+configopts += '--enable-ltdl --without-included-ltdl --disable-ltdl-install '
+configopts += '--with-ltdl-include=$EBROOTLIBTOOL/include --with-ltdl-lib=$EBROOTLIBTOOL/lib '
+# Override the hardcoded paths to Java libraries
+configopts += '--with-javaincludedir=$JAVA_HOME/include --with-javaincludedir=$JAVA_HOME/include/linux '
+configopts += '--with-javalibdir=$JAVA_HOME/lib'
+configopts += '--with-expatincludedir=$EBROOTEXPAT/include --with-expatlibdir=$EBROOTEXPAT/lib'
+configopts += '--with-zincludedir=$EBROOTZLIB/include --with-zlibdir=$EBROOTZLIB/lib'
 
 prebuildopts = 'qmake -o cmd/gvedit/qMakefile cmd/gvedit/gvedit.pro && '
 
@@ -92,7 +88,7 @@ modextrapaths = {
     'CLASSPATH': 'lib/graphviz/java',
     'LD_LIBRARY_PATH': 'lib/graphviz/java',
     'PYTHONPATH': 'lib/graphviz/python%s' % local_pyver_major,
-    'TCLLIBPATH': {'paths': 'lib/graphviz/tcl', 'delimiter': ' '},
+    'TCLLIBPATH': 'lib/graphviz/tcl',
 }
 
 moduleclass = 'vis'

Updated software graphviz-python-0.20.1-GCCcore-13.2.0.eb

Diff against graphviz-python-0.20.1-GCCcore-12.3.0.eb

easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-13.2.0.eb
index a0ad85fe96..a01a29ff83 100644
--- a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-13.2.0.eb
@@ -6,7 +6,7 @@ version = '0.20.1'
 homepage = 'https://pypi.python.org/pypi/graphviz'
 description = """Simple Python interface for Graphviz"""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = ['https://pypi.python.org/packages/source/g/graphviz']
 sources = ['graphviz-%(version)s.zip']
@@ -17,8 +17,8 @@ builddependencies = [
 ]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('Graphviz', '8.1.0'),
+    ('Python', '3.11.5'),
+    ('Graphviz', '9.0.0'),
 ]
 
 options = {'modulename': 'graphviz'}
Diff against graphviz-python-0.20.1-GCCcore-11.3.0.eb

easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb

diff --git a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-13.2.0.eb
index 4724301a0e..a01a29ff83 100644
--- a/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-11.3.0.eb
+++ b/easybuild/easyconfigs/g/graphviz-python/graphviz-python-0.20.1-GCCcore-13.2.0.eb
@@ -6,19 +6,19 @@ version = '0.20.1'
 homepage = 'https://pypi.python.org/pypi/graphviz'
 description = """Simple Python interface for Graphviz"""
 
-toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
 
 source_urls = ['https://pypi.python.org/packages/source/g/graphviz']
 sources = ['graphviz-%(version)s.zip']
 checksums = ['8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8']
 
 builddependencies = [
-    ('binutils', '2.38'),
+    ('binutils', '2.40'),
 ]
 
 dependencies = [
-    ('Python', '3.10.4'),
-    ('Graphviz', '5.0.0'),
+    ('Python', '3.11.5'),
+    ('Graphviz', '9.0.0'),
 ]
 
 options = {'modulename': 'graphviz'}

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 18, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=20843 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_20843 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7664

Test results coming soon (I hope)...

Details

- notification for comment with ID 3197455443 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 3 out of 4 (4 easyconfigs in total)
jsczen3c2.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/c9b433a0d22fc413f258f322fca2a68f for a full test report.

]

dependencies = [
('Java', '21', '', SYSTEM),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Java version we use in this generation of easyconfigs, so we should also use that here:

Suggested change
('Java', '21', '', SYSTEM),
('Java', '11', '', SYSTEM),

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have several tools built with GCCcore/13.2.0 that need Java/21 (and Graphviz). Most notably a Bayesian inference framework.

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 18, 2025

Actual problem with failing installation is:

ModuleNotFoundError: No module named 'hatchling'

So this looks like a victim of:

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 18, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=20843 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_20843 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7679

Test results coming soon (I hope)...

Details

- notification for comment with ID 3197697818 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 18, 2025

Test report by @boegel
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
node3555.doduo.os - Linux RHEL 9.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.18
See https://gist.github.com/boegel/cea0e767059ca0f28df1fb6f51eb0824 for a full test report.

@boegelbot
Copy link
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/207236dcd01641088162303de696a564 for a full test report.

@boegel boegel added this to the next release (5.1.2) milestone Aug 18, 2025
Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 18, 2025

Going in, thanks @SimonPinches!

@boegel boegel merged commit f26fc2a into easybuilders:develop Aug 18, 2025
5 checks passed
@SimonPinches
Copy link
Copy Markdown
Contributor Author

SimonPinches commented Aug 18, 2025

@boegel, I guess it's too late to ask for an exception to use Java/21 rather than Java/11...?

@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 18, 2025

@boegel, I guess it's too late to ask for an exception to use Java/21 rather than Java/11...?

Sorry for making that change in-place in this PR, but making exceptions doesn't solve the core problem: that we would be introducing easyconfigs that are not compatible with other easyconfigs from the same generation.

If you want to divert from upstream w.r.t. Java version used in this generation, I think it would be better for you to introduce an EasyBuild hook locally that replaces Java/11 with Java/21...

@SimonPinches
Copy link
Copy Markdown
Contributor Author

@boegel, I guess it's too late to ask for an exception to use Java/21 rather than Java/11...?

Sorry for making that change in-place in this PR, but making exceptions doesn't solve the core problem: that we would be introducing easyconfigs that are not compatible with other easyconfigs from the same generation.

If you want to divert from upstream w.r.t. Java version used in this generation, I think it would be better for you to introduce an EasyBuild hook locally that replaces Java/11 with Java/21...

Okay, I'll try to work out how to do this when I get a chance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants